package br.com.orion.sga.model.entities;

// Generated Jul 19, 2014 6:45:05 PM by Hibernate Tools 3.4.0.CR1

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Cheque generated by hbm2java
 */
@Entity
@Table(name = "cheque", catalog = "sga")
public class Cheque implements java.io.Serializable {

	private long id;
	private Banco banco;
	private MovimentacaoCaixa movimentacaoCaixa;
	private String numeroCheque;
	private String agencia;
	private String conta;
	private float valor;
	private Date bomPara;

	public Cheque() {
	}

	public Cheque(long id, Banco banco, MovimentacaoCaixa movimentacaoCaixa,
			String numeroCheque, String agencia, String conta, float valor) {
		this.id = id;
		this.banco = banco;
		this.movimentacaoCaixa = movimentacaoCaixa;
		this.numeroCheque = numeroCheque;
		this.agencia = agencia;
		this.conta = conta;
		this.valor = valor;
	}

	public Cheque(long id, Banco banco, MovimentacaoCaixa movimentacaoCaixa,
			String numeroCheque, String agencia, String conta, float valor,
			Date bomPara) {
		this.id = id;
		this.banco = banco;
		this.movimentacaoCaixa = movimentacaoCaixa;
		this.numeroCheque = numeroCheque;
		this.agencia = agencia;
		this.conta = conta;
		this.valor = valor;
		this.bomPara = bomPara;
	}

	@Id
	@Column(name = "id", unique = true, nullable = false)
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	public long getId() {
		return this.id;
	}

	public void setId(long id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_banco", nullable = false)
	public Banco getBanco() {
		return this.banco;
	}

	public void setBanco(Banco banco) {
		this.banco = banco;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_movimentacao_caixa", nullable = false)
	public MovimentacaoCaixa getMovimentacaoCaixa() {
		return this.movimentacaoCaixa;
	}

	public void setMovimentacaoCaixa(MovimentacaoCaixa movimentacaoCaixa) {
		this.movimentacaoCaixa = movimentacaoCaixa;
	}

	@Column(name = "numero_cheque", nullable = false, length = 15)
	public String getNumeroCheque() {
		return this.numeroCheque;
	}

	public void setNumeroCheque(String numeroCheque) {
		this.numeroCheque = numeroCheque;
	}

	@Column(name = "agencia", nullable = false, length = 10)
	public String getAgencia() {
		return this.agencia;
	}

	public void setAgencia(String agencia) {
		this.agencia = agencia;
	}

	@Column(name = "conta", nullable = false, length = 15)
	public String getConta() {
		return this.conta;
	}

	public void setConta(String conta) {
		this.conta = conta;
	}

	@Column(name = "valor", nullable = false, precision = 12, scale = 0)
	public float getValor() {
		return this.valor;
	}

	public void setValor(float valor) {
		this.valor = valor;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "bom_para", length = 0)
	public Date getBomPara() {
		return this.bomPara;
	}

	public void setBomPara(Date bomPara) {
		this.bomPara = bomPara;
	}

}
